package com.gqj.meter.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.gqj.common.annotation.Excel;
import com.gqj.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 出入库任务对象 MD_IO_TASK
 *
 * @author lxq
 * @date lxq-01-09
 */
public class MdTaskVo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 任务标识
     */
    @ApiModelProperty("主键")
    private Long ioTaskId;

    /**
     * 操作标识
     */
    @ApiModelProperty("操作标识")
    @Excel(name = "操作标识")
    private Long operId;

    /**
     * 出入库任务单编号
     */
    @ApiModelProperty("出入库任务单编号")
    @Excel(name = "出入库任务单编号")
    private String ioTaskNo;

    /**
     * 出入库原因，04：配送入库
     * 10：配送出库
     * 11：新装/更换出库
     * 12：预领出库
     * 05：预领退回入库
     * 06：领出未装入库
     */
    @ApiModelProperty("出入库原因")
    private String ioWhSortCode;

    /**
     * 关联标识，申请单号
     */
    @ApiModelProperty("关联标识")
    @Excel(name = "关联标识，申请单号")
    private String relaId;

    /**
     * 出入标识。0：入库、1：出库
     */
    @ApiModelProperty("出入标识")
    @Excel(name = "出入标识。0：入库、1：出库")
    private String ioFlag;

    /**
     * 库房标识
     */
    @ApiModelProperty("库房标识")
    @Excel(name = "库房标识")
    private Long whId;

    @ApiModelProperty("库房编号")
    @Excel(name = "库房编号，库房的用户自己编的外部编号")
    private String whNo;

    /**
     * 库房名称
     */
    @ApiModelProperty("库房名称")
    @Excel(name = "库房名称")
    private String whName;

    /**
     * 周转柜资产编号
     */
    @ApiModelProperty("周转柜资产编号")
    @Excel(name = "周转柜资产编号")
    private String cabinetBarCode;

    /**
     * 通讯方式
     */
    @ApiModelProperty("通讯方式")
    @Excel(name = "通讯方式")
    private String commMode;

    /**
     * 周转箱条形码
     */
    @ApiModelProperty("周转箱条形码")
    @Excel(name = "周转箱条形码")
    private String turnboxBarCode;

    /**
     * 设备类别，01：电能表
     * 02：电压互感器
     * 03：电流互感器
     * 04：组合互感器
     * 09：采集终端
     * 21：负控设备
     * 25：采集器
     */
    @ApiModelProperty("设备类别")
    @Excel(name = "设备类别，01：电能表02：电压互感器03：电流互感器04：组合互感器09：采集终端21：负控设备25：采集器")
    private String equipCateg;

    /**
     * 设备类型，28：电子式-智能远程费控
     * 29：电子式-智能无费控
     */
    @ApiModelProperty("设备类型")
    @Excel(name = "设备类型，28：电子式-智能远程费控29：电子式-智能无费控")
    private String typeCode;

    /**
     * 设备规格，
     * 100：2级单相费控智能电能表（模块-远程-开关内置）
     * 101：2级单相费控智能电能表（模块-远程-开关外置）
     * 131：单相静止式多费率电能表
     * 132：单相静止式多费率（载波）电能表
     * 133：单相静止式多费率（微功率无线）电能表
     */
    @ApiModelProperty("设备规格")
    @Excel(name = "设备规格，100：2级单相费控智能电能表", readConverterExp = "模=块-远程-开关内置")
    private String specCode;

    /**
     * 电压，01：220V
     * 02：3x380V
     * 03：3x220V/380V
     * 04：3x100V
     * 05：3x57.7V/100V
     */
    @ApiModelProperty("电压")
    @Excel(name = "电压，01：220V02：3x380V03：3x220V/380V04：3x100V05：3x57.7V/100V")
    private String voltCode;

    /**
     * 电流，00200：5(60)A
     * 00248：3×1.5(6)A
     * 00300：2(40)A
     * 9990043：3x5(60)A
     */
    @ApiModelProperty("电流")
    @Excel(name = "电流，00200：5(60)A00248：3×1.5(6)A00300：2(40)A9990043：3x5(60)A")
    private String currentCode;

    /**
     * 接线方式，1：单相
     * 2：三相三线
     * 3：三相四线
     */
    @ApiModelProperty("接线方式")
    @Excel(name = "接线方式，1：单相2：三相三线3：三相四线")
    private String wiringMode;

    /**
     * 跳闸方式，01：内跳
     * 02：外跳
     * 03：无控制
     */
    @ApiModelProperty("跳闸方式")
    @Excel(name = "跳闸方式，01：内跳02：外跳03：无控制")
    private String meterCloseMode;

    /**
     * 芯片厂家
     */
    @ApiModelProperty("芯片厂家")
    @Excel(name = "芯片厂家")
    private String chiipManufacturer;

    /**
     * 载波中心频率
     */
    @ApiModelProperty("载波中心频率")
    @Excel(name = "载波中心频率")
    private String carriFreq;

    /**
     * 费率类型，01：单费率
     * 02：二费率
     */
    @ApiModelProperty("费率类型")
    @Excel(name = "费率类型，01：单费率02：二费率")
    private String tariffType;

    /**
     * 额定电流变比，018：150/5
     * 024：400/5
     * 020：200/5
     */
    @ApiModelProperty("额定电流变比")
    @Excel(name = "额定电流变比，018：150/5024：400/5020：200/5")
    private String rcRatioCode;

    /**
     * 电价标识
     */
    @ApiModelProperty("电价标识")
    @Excel(name = "电价标识")
    private Long extendElecCode;

    /**
     * 有功准确度等级，01：1.0
     * 02：2.0
     * 03：3.0
     */
    @ApiModelProperty("有功准确度等级")
    @Excel(name = "有功准确度等级，01：1.002：2.003：3.0")
    private String apPreLevelCode;

    /**
     * 类别，10：智能表
     * 01：有功表
     * 02：无功表
     * 03：多功能表
     */
    @ApiModelProperty("类别")
    @Excel(name = "类别，10：智能表01：有功表02：无功表03：多功能表")
    private String sortCode;

    /**
     * 型号，9977：DS42M
     * 9978：DS42-M5
     * 9998：DTZY666-J
     */
    @ApiModelProperty("型号")
    @Excel(name = "型号，9977：DS42M9978：DS42-M59998：DTZY666-J")
    private String modelCode;

    /**
     * 无功准确度等级，01：1.0
     * 02：2.0
     * 03：3.0
     */
    @ApiModelProperty("出入库任务单编号")
    @Excel(name = "无功准确度等级，01：1.002：2.003：3.0")
    private String rpPreLevelCode;

    /**
     * 电压变比，001：1000/100
     * 004：10000/100
     */
    @ApiModelProperty("电压变比")
    @Excel(name = "电压变比，001：1000/100004：10000/100")
    private String voltRatioCode;

    /**
     * TV准确度等级，01：0.1
     * 02：0.2S
     * 03：0.2
     */
    @ApiModelProperty("TV准确度等级")
    @Excel(name = "TV准确度等级，01：0.102：0.2S03：0.2")
    private String tvPreCode;

    /**
     * TA准确度等级，01：0.1
     * 02：0.2S
     * 03：0.2
     */
    @ApiModelProperty("TA准确度等级")
    @Excel(name = "TA准确度等级，01：0.102：0.2S03：0.2")
    private String taPreCode;

    /**
     * 设备状态
     */
    @ApiModelProperty("设备状态")
    @Excel(name = "设备状态")
    private String equipStatus;

    /**
     * 制造单位
     */
    @ApiModelProperty("制造单位")
    @Excel(name = "制造单位")
    private String manufacturer;

    /**
     * 通讯接口
     */
    @ApiModelProperty("通讯接口")
    @Excel(name = "通讯接口")
    private String ci;

    /**
     * 使用用途
     */
    @ApiModelProperty("使用用途")
    @Excel(name = "使用用途")
    private String meterUsage;

    /**
     * 芯片型号
     */
    @ApiModelProperty("芯片型号")
    @Excel(name = "芯片型号")
    private String chipModelCode;

    /**
     * 载波类型
     */
    @ApiModelProperty("载波类型")
    @Excel(name = "载波类型")
    private String carrierWaveType;

    /**
     * 载波频率范围
     */
    @ApiModelProperty("载波频率范围")
    @Excel(name = "载波频率范围")
    private String carrierWaveFreqScope;

    /**
     * 数量
     */
    @ApiModelProperty("数量")
    @Excel(name = "数量")
    private Integer qty;

    /**
     * 操作人员，领退人员工号
     */
    @ApiModelProperty("操作人员")
    @Excel(name = "操作人员，领退人员工号")
    private String empNo;

    /**
     * 操作日期
     */
    @ApiModelProperty("操作日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date empDate;

    /**
     * 管理单位
     */
    @ApiModelProperty("管理单位")
    @Excel(name = "管理单位")
    private String orgNo;

    /**
     * 是否是确定明细出库，是否是确定明细出库。1：是、0：否。如果选择是，则必须选择资产明细。
     */
    @ApiModelProperty("是否是确定明细出库")
    @Excel(name = "是否是确定明细出库，是否是确定明细出库。1：是、0：否。如果选择是，则必须选择资产明细。")
    private Integer dtlOutFlag;

    /**
     * 任务状态，0：未执行
     * 1：执行中
     * 2：执行完毕
     * 3：暂停
     * 4：中止
     * 5：作废
     */
    @ApiModelProperty("任务状态")
    @Excel(name = "任务状态，0：未执行1：执行中2：执行完毕3：暂停4：中止5：作废")
    private String statusCode;

    /**
     * 任务时间，任务制定时间
     */
    @ApiModelProperty("任务时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "任务时间，任务制定时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date taskDate;

    public void setIoTaskId(Long ioTaskId) {
        this.ioTaskId = ioTaskId;
    }

    public Long getIoTaskId() {
        return ioTaskId;
    }

    public void setOperId(Long operId) {
        this.operId = operId;
    }

    public Long getOperId() {
        return operId;
    }

    public void setIoTaskNo(String ioTaskNo) {
        this.ioTaskNo = ioTaskNo;
    }

    public String getIoTaskNo() {
        return ioTaskNo;
    }

    public void setIoWhSortCode(String ioWhSortCode) {
        this.ioWhSortCode = ioWhSortCode;
    }

    public String getIoWhSortCode() {
        return ioWhSortCode;
    }

    public void setRelaId(String relaId) {
        this.relaId = relaId;
    }

    public String getRelaId() {
        return relaId;
    }

    public void setIoFlag(String ioFlag) {
        this.ioFlag = ioFlag;
    }

    public String getIoFlag() {
        return ioFlag;
    }

    public void setWhId(Long whId) {
        this.whId = whId;
    }

    public Long getWhId() {
        return whId;
    }

    public void setCabinetBarCode(String cabinetBarCode) {
        this.cabinetBarCode = cabinetBarCode;
    }

    public String getCabinetBarCode() {
        return cabinetBarCode;
    }

    public void setCommMode(String commMode) {
        this.commMode = commMode;
    }

    public String getCommMode() {
        return commMode;
    }

    public void setTurnboxBarCode(String turnboxBarCode) {
        this.turnboxBarCode = turnboxBarCode;
    }

    public String getTurnboxBarCode() {
        return turnboxBarCode;
    }

    public void setEquipCateg(String equipCateg) {
        this.equipCateg = equipCateg;
    }

    public String getEquipCateg() {
        return equipCateg;
    }

    public void setTypeCode(String typeCode) {
        this.typeCode = typeCode;
    }

    public String getTypeCode() {
        return typeCode;
    }

    public void setSpecCode(String specCode) {
        this.specCode = specCode;
    }

    public String getSpecCode() {
        return specCode;
    }

    public void setVoltCode(String voltCode) {
        this.voltCode = voltCode;
    }

    public String getVoltCode() {
        return voltCode;
    }

    public void setCurrentCode(String currentCode) {
        this.currentCode = currentCode;
    }

    public String getCurrentCode() {
        return currentCode;
    }

    public void setWiringMode(String wiringMode) {
        this.wiringMode = wiringMode;
    }

    public String getWiringMode() {
        return wiringMode;
    }

    public void setMeterCloseMode(String meterCloseMode) {
        this.meterCloseMode = meterCloseMode;
    }

    public String getMeterCloseMode() {
        return meterCloseMode;
    }

    public void setChiipManufacturer(String chiipManufacturer) {
        this.chiipManufacturer = chiipManufacturer;
    }

    public String getChiipManufacturer() {
        return chiipManufacturer;
    }

    public void setCarriFreq(String carriFreq) {
        this.carriFreq = carriFreq;
    }

    public String getCarriFreq() {
        return carriFreq;
    }

    public void setTariffType(String tariffType) {
        this.tariffType = tariffType;
    }

    public String getTariffType() {
        return tariffType;
    }

    public void setRcRatioCode(String rcRatioCode) {
        this.rcRatioCode = rcRatioCode;
    }

    public String getRcRatioCode() {
        return rcRatioCode;
    }

    public void setExtendElecCode(Long extendElecCode) {
        this.extendElecCode = extendElecCode;
    }

    public Long getExtendElecCode() {
        return extendElecCode;
    }

    public void setApPreLevelCode(String apPreLevelCode) {
        this.apPreLevelCode = apPreLevelCode;
    }

    public String getApPreLevelCode() {
        return apPreLevelCode;
    }

    public void setSortCode(String sortCode) {
        this.sortCode = sortCode;
    }

    public String getSortCode() {
        return sortCode;
    }

    public void setModelCode(String modelCode) {
        this.modelCode = modelCode;
    }

    public String getModelCode() {
        return modelCode;
    }

    public void setRpPreLevelCode(String rpPreLevelCode) {
        this.rpPreLevelCode = rpPreLevelCode;
    }

    public String getRpPreLevelCode() {
        return rpPreLevelCode;
    }

    public void setVoltRatioCode(String voltRatioCode) {
        this.voltRatioCode = voltRatioCode;
    }

    public String getVoltRatioCode() {
        return voltRatioCode;
    }

    public void setTvPreCode(String tvPreCode) {
        this.tvPreCode = tvPreCode;
    }

    public String getTvPreCode() {
        return tvPreCode;
    }

    public void setTaPreCode(String taPreCode) {
        this.taPreCode = taPreCode;
    }

    public String getTaPreCode() {
        return taPreCode;
    }

    public void setEquipStatus(String equipStatus) {
        this.equipStatus = equipStatus;
    }

    public String getEquipStatus() {
        return equipStatus;
    }

    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    public String getManufacturer() {
        return manufacturer;
    }

    public void setCi(String ci) {
        this.ci = ci;
    }

    public String getCi() {
        return ci;
    }

    public void setMeterUsage(String meterUsage) {
        this.meterUsage = meterUsage;
    }

    public String getMeterUsage() {
        return meterUsage;
    }

    public void setChipModelCode(String chipModelCode) {
        this.chipModelCode = chipModelCode;
    }

    public String getChipModelCode() {
        return chipModelCode;
    }

    public void setCarrierWaveType(String carrierWaveType) {
        this.carrierWaveType = carrierWaveType;
    }

    public String getCarrierWaveType() {
        return carrierWaveType;
    }

    public void setCarrierWaveFreqScope(String carrierWaveFreqScope) {
        this.carrierWaveFreqScope = carrierWaveFreqScope;
    }

    public String getCarrierWaveFreqScope() {
        return carrierWaveFreqScope;
    }

    public void setQty(Integer qty) {
        this.qty = qty;
    }

    public Integer getQty() {
        return qty;
    }

    public void setEmpNo(String empNo) {
        this.empNo = empNo;
    }

    public String getEmpNo() {
        return empNo;
    }

    public void setEmpDate(Date empDate) {
        this.empDate = empDate;
    }

    public Date getEmpDate() {
        return empDate;
    }

    public void setOrgNo(String orgNo) {
        this.orgNo = orgNo;
    }

    public String getOrgNo() {
        return orgNo;
    }

    public void setDtlOutFlag(Integer dtlOutFlag) {
        this.dtlOutFlag = dtlOutFlag;
    }

    public Integer getDtlOutFlag() {
        return dtlOutFlag;
    }

    public void setStatusCode(String statusCode) {
        this.statusCode = statusCode;
    }

    public String getStatusCode() {
        return statusCode;
    }

    public void setTaskDate(Date taskDate) {
        this.taskDate = taskDate;
    }

    public Date getTaskDate() {
        return taskDate;
    }

    public String getWhName() {
        return whName;
    }

    public void setWhName(String whName) {
        this.whName = whName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("ioTaskId", getIoTaskId())
                .append("operId", getOperId())
                .append("ioTaskNo", getIoTaskNo())
                .append("ioWhSortCode", getIoWhSortCode())
                .append("relaId", getRelaId())
                .append("ioFlag", getIoFlag())
                .append("whId", getWhId())
                .append("cabinetBarCode", getCabinetBarCode())
                .append("commMode", getCommMode())
                .append("turnboxBarCode", getTurnboxBarCode())
                .append("equipCateg", getEquipCateg())
                .append("typeCode", getTypeCode())
                .append("specCode", getSpecCode())
                .append("voltCode", getVoltCode())
                .append("currentCode", getCurrentCode())
                .append("wiringMode", getWiringMode())
                .append("meterCloseMode", getMeterCloseMode())
                .append("chiipManufacturer", getChiipManufacturer())
                .append("carriFreq", getCarriFreq())
                .append("tariffType", getTariffType())
                .append("rcRatioCode", getRcRatioCode())
                .append("extendElecCode", getExtendElecCode())
                .append("apPreLevelCode", getApPreLevelCode())
                .append("sortCode", getSortCode())
                .append("modelCode", getModelCode())
                .append("rpPreLevelCode", getRpPreLevelCode())
                .append("voltRatioCode", getVoltRatioCode())
                .append("tvPreCode", getTvPreCode())
                .append("taPreCode", getTaPreCode())
                .append("equipStatus", getEquipStatus())
                .append("manufacturer", getManufacturer())
                .append("ci", getCi())
                .append("meterUsage", getMeterUsage())
                .append("chipModelCode", getChipModelCode())
                .append("carrierWaveType", getCarrierWaveType())
                .append("carrierWaveFreqScope", getCarrierWaveFreqScope())
                .append("qty", getQty())
                .append("empNo", getEmpNo())
                .append("empDate", getEmpDate())
                .append("orgNo", getOrgNo())
                .append("dtlOutFlag", getDtlOutFlag())
                .append("statusCode", getStatusCode())
                .append("taskDate", getTaskDate())
                .toString();
    }
}
